package com.lh.service;


import com.alibaba.fastjson.JSONObject;
import com.lh.entity.table.RectificationInfo;
import com.lh.entity.table.RectificationInfoApproval;
import com.lh.utils.Answer;

public interface RectificationInfoApprovalService {
    Answer<Object> commitApproval(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> approval(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> passApproval(JSONObject reqJson);

    Answer<Object> getWaitApproval(JSONObject reqJson);

    Answer<Object> getRectificationInfoApprovalList(JSONObject reqJson);

    Answer<Object> queryDeadlineNodeApprovalList(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> queryTicketProblemApprovalList(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> accountTermination(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> exit(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> passAccountTermination(JSONObject reqJson);

    Answer<Object> approvalExit(JSONObject reqJson);

    Answer<Object> updateDeadlineNodeApproval(JSONObject reqJson);

    Answer<Object> passDeadlineNodeApproval(JSONObject reqJson);

    Answer<Object> add(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> deleteApproval(Integer id);


    /**
     * 查询环节的部门的树
     * @param reqJson
     * @return
     */
    Answer<Object> groupNodeDepartmentType(JSONObject reqJson);

    Answer<Object> updateApproval(RectificationInfoApproval rectificationInfoApproval);

    Answer<Object> groupByTitle();
}
